package campus.model;

import java.util.ArrayList;
import java.util.List;

public class SubjectsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SubjectsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andKmIdIsNull() {
            addCriterion("km_id is null");
            return (Criteria) this;
        }

        public Criteria andKmIdIsNotNull() {
            addCriterion("km_id is not null");
            return (Criteria) this;
        }

        public Criteria andKmIdEqualTo(Integer value) {
            addCriterion("km_id =", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdNotEqualTo(Integer value) {
            addCriterion("km_id <>", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdGreaterThan(Integer value) {
            addCriterion("km_id >", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("km_id >=", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdLessThan(Integer value) {
            addCriterion("km_id <", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdLessThanOrEqualTo(Integer value) {
            addCriterion("km_id <=", value, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdIn(List<Integer> values) {
            addCriterion("km_id in", values, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdNotIn(List<Integer> values) {
            addCriterion("km_id not in", values, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdBetween(Integer value1, Integer value2) {
            addCriterion("km_id between", value1, value2, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmIdNotBetween(Integer value1, Integer value2) {
            addCriterion("km_id not between", value1, value2, "kmId");
            return (Criteria) this;
        }

        public Criteria andKmCodingIsNull() {
            addCriterion("km_coding is null");
            return (Criteria) this;
        }

        public Criteria andKmCodingIsNotNull() {
            addCriterion("km_coding is not null");
            return (Criteria) this;
        }

        public Criteria andKmCodingEqualTo(String value) {
            addCriterion("km_coding =", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingNotEqualTo(String value) {
            addCriterion("km_coding <>", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingGreaterThan(String value) {
            addCriterion("km_coding >", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingGreaterThanOrEqualTo(String value) {
            addCriterion("km_coding >=", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingLessThan(String value) {
            addCriterion("km_coding <", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingLessThanOrEqualTo(String value) {
            addCriterion("km_coding <=", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingLike(String value) {
            addCriterion("km_coding like", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingNotLike(String value) {
            addCriterion("km_coding not like", value, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingIn(List<String> values) {
            addCriterion("km_coding in", values, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingNotIn(List<String> values) {
            addCriterion("km_coding not in", values, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingBetween(String value1, String value2) {
            addCriterion("km_coding between", value1, value2, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmCodingNotBetween(String value1, String value2) {
            addCriterion("km_coding not between", value1, value2, "kmCoding");
            return (Criteria) this;
        }

        public Criteria andKmNameIsNull() {
            addCriterion("km_name is null");
            return (Criteria) this;
        }

        public Criteria andKmNameIsNotNull() {
            addCriterion("km_name is not null");
            return (Criteria) this;
        }

        public Criteria andKmNameEqualTo(String value) {
            addCriterion("km_name =", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameNotEqualTo(String value) {
            addCriterion("km_name <>", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameGreaterThan(String value) {
            addCriterion("km_name >", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameGreaterThanOrEqualTo(String value) {
            addCriterion("km_name >=", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameLessThan(String value) {
            addCriterion("km_name <", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameLessThanOrEqualTo(String value) {
            addCriterion("km_name <=", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameLike(String value) {
            addCriterion("km_name like", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameNotLike(String value) {
            addCriterion("km_name not like", value, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameIn(List<String> values) {
            addCriterion("km_name in", values, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameNotIn(List<String> values) {
            addCriterion("km_name not in", values, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameBetween(String value1, String value2) {
            addCriterion("km_name between", value1, value2, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmNameNotBetween(String value1, String value2) {
            addCriterion("km_name not between", value1, value2, "kmName");
            return (Criteria) this;
        }

        public Criteria andKmPriceIsNull() {
            addCriterion("km_price is null");
            return (Criteria) this;
        }

        public Criteria andKmPriceIsNotNull() {
            addCriterion("km_price is not null");
            return (Criteria) this;
        }

        public Criteria andKmPriceEqualTo(String value) {
            addCriterion("km_price =", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceNotEqualTo(String value) {
            addCriterion("km_price <>", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceGreaterThan(String value) {
            addCriterion("km_price >", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceGreaterThanOrEqualTo(String value) {
            addCriterion("km_price >=", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceLessThan(String value) {
            addCriterion("km_price <", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceLessThanOrEqualTo(String value) {
            addCriterion("km_price <=", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceLike(String value) {
            addCriterion("km_price like", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceNotLike(String value) {
            addCriterion("km_price not like", value, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceIn(List<String> values) {
            addCriterion("km_price in", values, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceNotIn(List<String> values) {
            addCriterion("km_price not in", values, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceBetween(String value1, String value2) {
            addCriterion("km_price between", value1, value2, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmPriceNotBetween(String value1, String value2) {
            addCriterion("km_price not between", value1, value2, "kmPrice");
            return (Criteria) this;
        }

        public Criteria andKmCodeIsNull() {
            addCriterion("km_code is null");
            return (Criteria) this;
        }

        public Criteria andKmCodeIsNotNull() {
            addCriterion("km_code is not null");
            return (Criteria) this;
        }

        public Criteria andKmCodeEqualTo(String value) {
            addCriterion("km_code =", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeNotEqualTo(String value) {
            addCriterion("km_code <>", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeGreaterThan(String value) {
            addCriterion("km_code >", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeGreaterThanOrEqualTo(String value) {
            addCriterion("km_code >=", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeLessThan(String value) {
            addCriterion("km_code <", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeLessThanOrEqualTo(String value) {
            addCriterion("km_code <=", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeLike(String value) {
            addCriterion("km_code like", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeNotLike(String value) {
            addCriterion("km_code not like", value, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeIn(List<String> values) {
            addCriterion("km_code in", values, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeNotIn(List<String> values) {
            addCriterion("km_code not in", values, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeBetween(String value1, String value2) {
            addCriterion("km_code between", value1, value2, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmCodeNotBetween(String value1, String value2) {
            addCriterion("km_code not between", value1, value2, "kmCode");
            return (Criteria) this;
        }

        public Criteria andKmStateIsNull() {
            addCriterion("km_state is null");
            return (Criteria) this;
        }

        public Criteria andKmStateIsNotNull() {
            addCriterion("km_state is not null");
            return (Criteria) this;
        }

        public Criteria andKmStateEqualTo(String value) {
            addCriterion("km_state =", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateNotEqualTo(String value) {
            addCriterion("km_state <>", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateGreaterThan(String value) {
            addCriterion("km_state >", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateGreaterThanOrEqualTo(String value) {
            addCriterion("km_state >=", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateLessThan(String value) {
            addCriterion("km_state <", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateLessThanOrEqualTo(String value) {
            addCriterion("km_state <=", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateLike(String value) {
            addCriterion("km_state like", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateNotLike(String value) {
            addCriterion("km_state not like", value, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateIn(List<String> values) {
            addCriterion("km_state in", values, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateNotIn(List<String> values) {
            addCriterion("km_state not in", values, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateBetween(String value1, String value2) {
            addCriterion("km_state between", value1, value2, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmStateNotBetween(String value1, String value2) {
            addCriterion("km_state not between", value1, value2, "kmState");
            return (Criteria) this;
        }

        public Criteria andKmNumberIsNull() {
            addCriterion("km_number is null");
            return (Criteria) this;
        }

        public Criteria andKmNumberIsNotNull() {
            addCriterion("km_number is not null");
            return (Criteria) this;
        }

        public Criteria andKmNumberEqualTo(Integer value) {
            addCriterion("km_number =", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberNotEqualTo(Integer value) {
            addCriterion("km_number <>", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberGreaterThan(Integer value) {
            addCriterion("km_number >", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("km_number >=", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberLessThan(Integer value) {
            addCriterion("km_number <", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberLessThanOrEqualTo(Integer value) {
            addCriterion("km_number <=", value, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberIn(List<Integer> values) {
            addCriterion("km_number in", values, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberNotIn(List<Integer> values) {
            addCriterion("km_number not in", values, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberBetween(Integer value1, Integer value2) {
            addCriterion("km_number between", value1, value2, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("km_number not between", value1, value2, "kmNumber");
            return (Criteria) this;
        }

        public Criteria andKmAccountingIsNull() {
            addCriterion("km_accounting is null");
            return (Criteria) this;
        }

        public Criteria andKmAccountingIsNotNull() {
            addCriterion("km_accounting is not null");
            return (Criteria) this;
        }

        public Criteria andKmAccountingEqualTo(String value) {
            addCriterion("km_accounting =", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingNotEqualTo(String value) {
            addCriterion("km_accounting <>", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingGreaterThan(String value) {
            addCriterion("km_accounting >", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingGreaterThanOrEqualTo(String value) {
            addCriterion("km_accounting >=", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingLessThan(String value) {
            addCriterion("km_accounting <", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingLessThanOrEqualTo(String value) {
            addCriterion("km_accounting <=", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingLike(String value) {
            addCriterion("km_accounting like", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingNotLike(String value) {
            addCriterion("km_accounting not like", value, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingIn(List<String> values) {
            addCriterion("km_accounting in", values, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingNotIn(List<String> values) {
            addCriterion("km_accounting not in", values, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingBetween(String value1, String value2) {
            addCriterion("km_accounting between", value1, value2, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmAccountingNotBetween(String value1, String value2) {
            addCriterion("km_accounting not between", value1, value2, "kmAccounting");
            return (Criteria) this;
        }

        public Criteria andKmForeignIsNull() {
            addCriterion("km_foreign is null");
            return (Criteria) this;
        }

        public Criteria andKmForeignIsNotNull() {
            addCriterion("km_foreign is not null");
            return (Criteria) this;
        }

        public Criteria andKmForeignEqualTo(String value) {
            addCriterion("km_foreign =", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignNotEqualTo(String value) {
            addCriterion("km_foreign <>", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignGreaterThan(String value) {
            addCriterion("km_foreign >", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignGreaterThanOrEqualTo(String value) {
            addCriterion("km_foreign >=", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignLessThan(String value) {
            addCriterion("km_foreign <", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignLessThanOrEqualTo(String value) {
            addCriterion("km_foreign <=", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignLike(String value) {
            addCriterion("km_foreign like", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignNotLike(String value) {
            addCriterion("km_foreign not like", value, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignIn(List<String> values) {
            addCriterion("km_foreign in", values, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignNotIn(List<String> values) {
            addCriterion("km_foreign not in", values, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignBetween(String value1, String value2) {
            addCriterion("km_foreign between", value1, value2, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andKmForeignNotBetween(String value1, String value2) {
            addCriterion("km_foreign not between", value1, value2, "kmForeign");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceIsNull() {
            addCriterion("qc_beginning_balance is null");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceIsNotNull() {
            addCriterion("qc_beginning_balance is not null");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceEqualTo(Integer value) {
            addCriterion("qc_beginning_balance =", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceNotEqualTo(Integer value) {
            addCriterion("qc_beginning_balance <>", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceGreaterThan(Integer value) {
            addCriterion("qc_beginning_balance >", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_beginning_balance >=", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceLessThan(Integer value) {
            addCriterion("qc_beginning_balance <", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceLessThanOrEqualTo(Integer value) {
            addCriterion("qc_beginning_balance <=", value, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceIn(List<Integer> values) {
            addCriterion("qc_beginning_balance in", values, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceNotIn(List<Integer> values) {
            addCriterion("qc_beginning_balance not in", values, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceBetween(Integer value1, Integer value2) {
            addCriterion("qc_beginning_balance between", value1, value2, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningBalanceNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_beginning_balance not between", value1, value2, "qcBeginningBalance");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberIsNull() {
            addCriterion("qc_beginning_number is null");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberIsNotNull() {
            addCriterion("qc_beginning_number is not null");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberEqualTo(Integer value) {
            addCriterion("qc_beginning_number =", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberNotEqualTo(Integer value) {
            addCriterion("qc_beginning_number <>", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberGreaterThan(Integer value) {
            addCriterion("qc_beginning_number >", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_beginning_number >=", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberLessThan(Integer value) {
            addCriterion("qc_beginning_number <", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberLessThanOrEqualTo(Integer value) {
            addCriterion("qc_beginning_number <=", value, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberIn(List<Integer> values) {
            addCriterion("qc_beginning_number in", values, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberNotIn(List<Integer> values) {
            addCriterion("qc_beginning_number not in", values, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberBetween(Integer value1, Integer value2) {
            addCriterion("qc_beginning_number between", value1, value2, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBeginningNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_beginning_number not between", value1, value2, "qcBeginningNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceIsNull() {
            addCriterion("qc_borrower_balance is null");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceIsNotNull() {
            addCriterion("qc_borrower_balance is not null");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceEqualTo(Integer value) {
            addCriterion("qc_borrower_balance =", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceNotEqualTo(Integer value) {
            addCriterion("qc_borrower_balance <>", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceGreaterThan(Integer value) {
            addCriterion("qc_borrower_balance >", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_borrower_balance >=", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceLessThan(Integer value) {
            addCriterion("qc_borrower_balance <", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceLessThanOrEqualTo(Integer value) {
            addCriterion("qc_borrower_balance <=", value, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceIn(List<Integer> values) {
            addCriterion("qc_borrower_balance in", values, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceNotIn(List<Integer> values) {
            addCriterion("qc_borrower_balance not in", values, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceBetween(Integer value1, Integer value2) {
            addCriterion("qc_borrower_balance between", value1, value2, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerBalanceNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_borrower_balance not between", value1, value2, "qcBorrowerBalance");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberIsNull() {
            addCriterion("qc_borrower_number is null");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberIsNotNull() {
            addCriterion("qc_borrower_number is not null");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberEqualTo(Integer value) {
            addCriterion("qc_borrower_number =", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberNotEqualTo(Integer value) {
            addCriterion("qc_borrower_number <>", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberGreaterThan(Integer value) {
            addCriterion("qc_borrower_number >", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_borrower_number >=", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberLessThan(Integer value) {
            addCriterion("qc_borrower_number <", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberLessThanOrEqualTo(Integer value) {
            addCriterion("qc_borrower_number <=", value, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberIn(List<Integer> values) {
            addCriterion("qc_borrower_number in", values, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberNotIn(List<Integer> values) {
            addCriterion("qc_borrower_number not in", values, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberBetween(Integer value1, Integer value2) {
            addCriterion("qc_borrower_number between", value1, value2, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcBorrowerNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_borrower_number not between", value1, value2, "qcBorrowerNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberIsNull() {
            addCriterion("qc_lender_number is null");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberIsNotNull() {
            addCriterion("qc_lender_number is not null");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberEqualTo(Integer value) {
            addCriterion("qc_lender_number =", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberNotEqualTo(Integer value) {
            addCriterion("qc_lender_number <>", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberGreaterThan(Integer value) {
            addCriterion("qc_lender_number >", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_lender_number >=", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberLessThan(Integer value) {
            addCriterion("qc_lender_number <", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberLessThanOrEqualTo(Integer value) {
            addCriterion("qc_lender_number <=", value, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberIn(List<Integer> values) {
            addCriterion("qc_lender_number in", values, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberNotIn(List<Integer> values) {
            addCriterion("qc_lender_number not in", values, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberBetween(Integer value1, Integer value2) {
            addCriterion("qc_lender_number between", value1, value2, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_lender_number not between", value1, value2, "qcLenderNumber");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceIsNull() {
            addCriterion("qc_lender_balance is null");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceIsNotNull() {
            addCriterion("qc_lender_balance is not null");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceEqualTo(Integer value) {
            addCriterion("qc_lender_balance =", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceNotEqualTo(Integer value) {
            addCriterion("qc_lender_balance <>", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceGreaterThan(Integer value) {
            addCriterion("qc_lender_balance >", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_lender_balance >=", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceLessThan(Integer value) {
            addCriterion("qc_lender_balance <", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceLessThanOrEqualTo(Integer value) {
            addCriterion("qc_lender_balance <=", value, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceIn(List<Integer> values) {
            addCriterion("qc_lender_balance in", values, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceNotIn(List<Integer> values) {
            addCriterion("qc_lender_balance not in", values, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceBetween(Integer value1, Integer value2) {
            addCriterion("qc_lender_balance between", value1, value2, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcLenderBalanceNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_lender_balance not between", value1, value2, "qcLenderBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberIsNull() {
            addCriterion("qc_years_number is null");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberIsNotNull() {
            addCriterion("qc_years_number is not null");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberEqualTo(Integer value) {
            addCriterion("qc_years_number =", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberNotEqualTo(Integer value) {
            addCriterion("qc_years_number <>", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberGreaterThan(Integer value) {
            addCriterion("qc_years_number >", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_years_number >=", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberLessThan(Integer value) {
            addCriterion("qc_years_number <", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberLessThanOrEqualTo(Integer value) {
            addCriterion("qc_years_number <=", value, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberIn(List<Integer> values) {
            addCriterion("qc_years_number in", values, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberNotIn(List<Integer> values) {
            addCriterion("qc_years_number not in", values, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberBetween(Integer value1, Integer value2) {
            addCriterion("qc_years_number between", value1, value2, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_years_number not between", value1, value2, "qcYearsNumber");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceIsNull() {
            addCriterion("qc_years_balance is null");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceIsNotNull() {
            addCriterion("qc_years_balance is not null");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceEqualTo(Integer value) {
            addCriterion("qc_years_balance =", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceNotEqualTo(Integer value) {
            addCriterion("qc_years_balance <>", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceGreaterThan(Integer value) {
            addCriterion("qc_years_balance >", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("qc_years_balance >=", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceLessThan(Integer value) {
            addCriterion("qc_years_balance <", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceLessThanOrEqualTo(Integer value) {
            addCriterion("qc_years_balance <=", value, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceIn(List<Integer> values) {
            addCriterion("qc_years_balance in", values, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceNotIn(List<Integer> values) {
            addCriterion("qc_years_balance not in", values, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceBetween(Integer value1, Integer value2) {
            addCriterion("qc_years_balance between", value1, value2, "qcYearsBalance");
            return (Criteria) this;
        }

        public Criteria andQcYearsBalanceNotBetween(Integer value1, Integer value2) {
            addCriterion("qc_years_balance not between", value1, value2, "qcYearsBalance");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}